<template>
    <view class="content">
        <view class="header">
            <image src="../../static/shilu-login/logo.png"></image>
        </view>

        <view class="list">
            <view class="list-call">
                <image class="img" src="/static/shilu-login/1.png"></image>
                <input class="sl-input" v-model="state.phone" type="number" maxlength="11" placeholder="手机号" />
            </view>
            <view class="list-call">
                <image class="img" src="/static/shilu-login/2.png"></image>
                <input class="sl-input" v-model="state.password" type="text" maxlength="32" placeholder="登录密码"
                    :password="!state.showPassword" />
                <image class="img" :src="state.showPassword ? '/static/shilu-login/op.png' : '/static/shilu-login/cl.png'"
                    @tap="display"></image>
            </view>
            <!-- @tap是手指触摸离开时触发，没有300ms的延迟，但是会有事件穿透; -->
            <view class="list-call">
                <image class="img" src="/static/shilu-login/2.png"></image>
                <input class="sl-input" v-model="state.password2" type="text" maxlength="32" placeholder="确认密码"
                    :password="!state.showPassword2" />
                <image class="img" :src="state.showPassword2 ? '/static/shilu-login/op.png' : '/static/shilu-login/cl.png'"
                    @tap="display2"></image>
            </view>
        </view>

        <view class="button-login" hover-class="button-hover" @tap="bindLogin">
            <text>注册</text>
        </view>

        <view class="agreement">
            <image @tap="agreementSuccess"
                :src="state.agreement == true ? '/static/shilu-login/ty1.png' : '/static/shilu-login/ty0.png'"></image>
            <text @tap="agreementSuccess"> 同意</text>
            <navigator url="/pages/tabbar/mine/agreement?id=1" open-type="navigate">《软件用户协议》</navigator>
        </view>
    </view>
</template>


<script setup>
import { reactive } from 'vue';
import { register } from '../../../network/mine'
const state = reactive({
    phone: '12345678900',
    password: '123456',
    password2: '123456',
    // 显示密码
    showPassword: false,
    showPassword2: false,
    // 是否勾选用户协议
    agreement: true
})
// 取反
const display = () => {
    state.showPassword = !state.showPassword;
}
const display2 = () => {
    state.showPassword2 = !state.showPassword2;
}
const agreementSuccess = () => {
    state.agreement = !state.agreement;
}

const bindLogin = () => {
    if (state.agreement == false) {
        uni.showToast({
            icon: 'none',
            title: '请先阅读《软件用户协议》'
        });
        return;
    }
    if (state.phone.length != 11) {
        uni.showToast({
            icon: 'none',
            title: '手机号不正确'
        });
        return;
    }
    if (state.password.length < 6) {
        uni.showToast({
            icon: 'none',
            title: '密码不正确'
        });
        return;
    }
    if (state.password != state.password2) {
        uni.showToast({
            icon: 'none',
            title: '两次密码不一致'
        });
        return;
    }
    // 注册
    register({
        phone: state.phone,
        password: state.password
    }).then((res) => {
        if (res.code != 0) {
            uni.showToast({
                title: '注册失败',
                icon: 'none'
            });
        } else {
            uni.showToast({
                title: res.msg
            });
            //返回上一页
            setTimeout(function () {
                uni.navigateBack();
            }, 1500)
        }
    })
}
</script>

<style scoped>
.content {
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.header {
    width: 161rpx;
    height: 161rpx;
    background: rgba(63, 205, 235, 1);
    box-shadow: 0rpx 12rpx 13rpx 0rpx rgba(63, 205, 235, 0.47);
    border-radius: 50%;
    margin-top: 30rpx;
    margin-left: auto;
    margin-right: auto;
}

.header image {
    width: 161rpx;
    height: 161rpx;
    border-radius: 50%;
}

.list {
    display: flex;
    flex-direction: column;
    padding-top: 50rpx;
    padding-left: 70rpx;
    padding-right: 70rpx;
}

.list-call {
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    align-items: center;
    height: 100rpx;
    color: #333333;
    border-bottom: 0.5px solid #e2e2e2;
}

.list-call .img {
    width: 40rpx;
    height: 40rpx;
}

.list-call .sl-input {
    flex: 1;
    text-align: left;
    font-size: 32rpx;
    margin-left: 16rpx;
}

.yzm {
    color: #FF7D13;
    font-size: 24rpx;
    line-height: 64rpx;
    padding-left: 10rpx;
    padding-right: 10rpx;
    width: auto;
    height: 64rpx;
    border: 1rpx solid #FFA800;
    border-radius: 50rpx;
}

.yzms {
    color: #999999 !important;
    border: 1rpx solid #999999;
}

.button-login {
    color: #FFFFFF;
    font-size: 34rpx;
    width: 470rpx;
    height: 100rpx;
    line-height: 100rpx;
    background: linear-gradient(-90deg, rgba(63, 205, 235, 1), rgba(188, 226, 158, 1));
    box-shadow: 0rpx 0rpx 13rpx 0rpx rgba(164, 217, 228, 0.2);
    border-radius: 50rpx;
    text-align: center;
    margin-left: auto;
    margin-right: auto;
    margin-top: 100rpx;
}

.button-hover {
    background: linear-gradient(-90deg, rgba(63, 205, 235, 0.8), rgba(188, 226, 158, 0.8));
}

.agreement {
    display: flex;
    flex-direction: row;
    justify-content: center;
    align-items: center;
    font-size: 30rpx;
    margin-top: 80rpx;
    color: #FFA800;
    text-align: center;
    height: 40rpx;
    line-height: 40rpx;
}

.agreement image {
    width: 40rpx;
    height: 40rpx;
}
</style>